package k1_exercise;

public class Loop_rabbit {
    /**
     * 有个人想知道，一年之内一对兔子能繁殖多少对？于是就筑了一道围墙把一对兔子关在里面
     * 已知一对兔子每个月可以生一对小兔子，而一对兔子从出生后第3个月起每月生一对小兔子
     * 假如一年内没有发生死亡现象，那么，一对兔子一年内（12个月）能繁殖成多少对？
     * 分析：兔子的规律为数列，1，1，2，3，5，8，13
     */
    public static void main(String[] args) {

        //想求第n个月的兔子数量，第n-1月的兔子数为现有兔子数量，第n-2月的兔子数为新生兔子数量
        int newRabbit = 1;
        int oldRabbit = 1;

        //初始化每个月当前月份的兔子数量，也就是截至到目前为止兔子的总是
        int currentRabbit = 0;

        //因为前两个月的兔子数是固定的，所以这里从第三个月开始计算
        for (int i = 3; i <=12 ; i++) {
            //当前月的兔子数=原有兔子数+新生兔子数
            currentRabbit = newRabbit+oldRabbit;

            newRabbit = oldRabbit;
            oldRabbit = currentRabbit;

        }
        System.out.println("12个月兔子的总数量为："+currentRabbit);
    }
}
